package cn.com.bluemoon.daps.sync.core.sync.sql.postgresql;

import cn.com.bluemoon.daps.model.entity.DapDataModelSubordinateKey;
import cn.com.bluemoon.daps.model.entity.DapDataModelTable;
import cn.com.bluemoon.daps.model.entity.DapDataModelTableField;
import cn.com.bluemoon.daps.model.entity.DapDataModelTablePartition;
import cn.com.bluemoon.daps.sync.base.BmScript;
import cn.com.bluemoon.daps.sync.core.sync.sql.AbstractSql;
import com.alibaba.druid.DbType;

import java.util.List;

/**
 * sql 生成器
 *
 * @author Jarod Kong
 * @date 2021-01-16 00:15
 **/
public class PgSqlBmSql extends AbstractSql {
    public PgSqlBmSql() {
        super(DbType.postgresql);
    }

    @Override
    public BmScript createField(DapDataModelTable newT, DapDataModelTableField newF, String preFieldName) {
        return null;
    }

    @Override
    public BmScript dropField(DapDataModelTable oldT, DapDataModelTableField oldF) {
        return null;
    }

    @Override
    public BmScript changeField(DapDataModelTable newT, DapDataModelTableField oldF, DapDataModelTableField newF, String preFieldName) {
        return null;
    }

    @Override
    public BmScript createIndex(DapDataModelTable newT, DapDataModelSubordinateKey newI) {
        return null;
    }

    @Override
    public BmScript dropIndex(DapDataModelTable oldT, DapDataModelSubordinateKey oldI) {
        return null;
    }

    @Override
    public BmScript changeIndex(DapDataModelTable newT, DapDataModelSubordinateKey oldI, DapDataModelSubordinateKey newI) {
        return null;
    }

    @Override
    public BmScript dropTable(String oldTableName) {
        return null;
    }

    @Override
    public BmScript createTable(DapDataModelTable newT,
                              List<DapDataModelTableField> newFs,
                              List<DapDataModelSubordinateKey> newIs,
                              List<DapDataModelTablePartition> newPs) {
        return null;
    }

    @Override
    public BmScript changeTable(DapDataModelTable oldT, DapDataModelTable newT) {
        return null;
    }
}
